"""
元组的定义
    Tuple 元组与列表类似，不同之处在于 元组的元素不能修改
        * 元组表示多个元素组成的序列
        * 元组在 Python 开发中有特定的应用场景
    用于存储一串信息，数据之间使用 , 分割
    元组用 () 定义
    元组的索引从 0 开始
        索引就是数据在元组中的位置编号
    
    元组的定义示例：
    info_tuple = ("张三", 18, 1.75)

    创建空元祖
    empty_tuple = ()

注意事项：
    元组中，如果只包含一个元素时，需要在元素的后面加 , 否则不能区分是元组类型，还是使用 () 提高计算优先级
        info_tuple = ("张三", )
    使用 print() 格式化输出时， % 后面的数据类型就是 元组类型

元组的常用操作

    元组.index(数据)  获取指定数据的索引位置
    元组.count(数据)  获取指定数据在元组中出现的次数

元组的迭代遍历

    for info in info_tuple:
        print(info)

迭代遍历注意事项：
    在 Python 中，可以使用 for 循环遍历所有非数字类型的变量，列表、元组、字典以及字符串
    在实际开发中，除非能够确认元组中的元素的数据类型，否则针对元组的循环遍历的需求场景并不多
"""

# 定义元组类型数据
info_tuple = ("张三", 18, 1.75)
print(info_tuple)

# 用法同列表相似
print(info_tuple[0])

# 获取指定数据的索引位置
## 如果数据在元组中不存在，会报错 --> ValueError: tuple.index(x): x not in tuple
print(info_tuple.index(18))

# 统计指定元素在元组中的次数
## 如果指定的元素不存在，返回 0
print(info_tuple.count("张三"))

# 使用 len(元组变量) 统计元组中包含元素的个数
print(len(info_tuple))

print("-" * 50)

# 元组的循环遍历
for info in info_tuple:
    print(info)
